/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ipartek.formacion.gestformwww.modelo.interfaces;

import com.ipartek.formacion.gestformwww.modelo.beans.Cliente;
import com.ipartek.formacion.gestformwww.modelo.beans.excepciones.GestorFormacionExcepcion;
import java.util.ArrayList;
/**
* Los objetos de esta clase se encargan de la entrada, salida, modificacion y
* borrado de en la tabla de Clientes.
* @author David
**/
public interface IClienteDAO extends IDAO{
     /**
    * Método que inserta un Ciente en la base de datos.
    * @param con Cliente que es un objeto de tipo cliente con los datos de la misma
     * @return boolean  Devuelve un true en caso de que la sentencis haya ejecutado bien o false en caso de que mal
    **/
    boolean nuevoCliente(Cliente cli);
    /**
    * Método que elimina una Contacto de la base de datos.
    * @param sConvId String que contiene el id del Contacto a eliminar.
      * @return boolean Devuelve un true en caso de que la sentencis haya ejecutado bien o false en caso de que mal
    **/
    boolean borrarCliente(String sCliId);
    /**
    * Método que modifica un Contacto de la base de datos.
    * @param con Contacto que es un objeto de tipo Contacto con los datos del mismo
      *  @return boolean
      * Devuelve un true en caso de que la sentencis haya ejecutado bien o false en caso de que mal
    **/
    boolean modificarCliente(Cliente cli);

    Cliente buscarCliente(int CliId);
    /**
    * Método que muestra los Contactos que hay dentro de un filtro.
    * @param filtro String que contiene el filtro que se le va a añadir a la select.
     * @return alContactos ArrayList que es un arraylist que contiene Contactos.
    **/
    ArrayList getCliente(String filtro) throws GestorFormacionExcepcion;

    public ArrayList<Cliente> listarClientes() throws GestorFormacionExcepcion;        //dbaykbp.n
}
